Skip to content

Fix IoTConsensus batch accumulation and config reload - #18501

Open
Caideyipi wants to merge 1 commit into
apache:masterfrom
Caideyipi:fix/iot-consensus-batch-accumulation
Open

Fix IoTConsensus batch accumulation and config reload#18501
Caideyipi wants to merge 1 commit into
apache:masterfrom
Caideyipi:fix/iot-consensus-batch-accumulation

Conversation

@Caideyipi

@Caideyipi Caideyipi commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

What changes were proposed in this pull request?

  • Fix the batch-accumulation condition so the dispatcher waits after buffering the first request when write pressure is low.
  • Make IoTConsensus configuration updates visible across dispatcher threads and propagate hot-reloaded limits to the existing dispatcher pipeline.
  • Update the IoTConsensus queue memory ratio on configuration reload.
  • Add unit coverage for batch accumulation, pipeline reload wake-up, and memory-ratio updates.

This is intentionally scoped to the lightweight, clearly incorrect paths; it does not claim to resolve every possible WAL/decompression performance issue.

Why are the changes needed?

The previous condition checked bufferedEntries.isEmpty() only after adding a request, so the accumulation wait was never reached. Existing dispatcher threads also retained stale reloadable limits.

How was this tested?

  • mvn -pl iotdb-core/consensus clean test (72 tests, 0 failures, 0 errors)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant